package com.efast.dmom.aps.service;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

import com.efast.dmom.aps.bean.ResultBean;
import com.efast.dmom.aps.bean.WorkingCalendar;

public interface WorkingCalendarService {

	/**
	 * 批量新增工作日历
	 * 
	 * @param currentDateList
	 * @param workingCalendar
	 * @return
	 */
	public ResultBean insertWorkingCalendar(WorkingCalendar workingCalendar);

	/**
	 * 批量更新工作日历
	 * 
	 * @param workingCalendar
	 * @return
	 */
	public ResultBean updateWorkingCalendar(WorkingCalendar workingCalendar);

	/**
	 * 查询指定月份下所有工作日历的数据
	 * 
	 * @param map
	 * @return
	 */
	public ResultBean getworkCanlendarByMonth(WorkingCalendar workingCalendar);

	/**
	 * 删除班次
	 * 
	 * @param shift_id
	 * @return
	 */
	public ResultBean deleteShift(WorkingCalendar workingCalendar);

	/**
	 * 查找班次
	 * 
	 * @param workingCalendar
	 * @return
	 */
	public ResultBean selectShift(WorkingCalendar workingCalendar);

	public Map<LocalDate, WorkingCalendar> getWorkingHoursPerDay(long plantId ,long workshopId,long lineId,LocalDate startTime,LocalDate endTime);
	
	public List<WorkingCalendar> selectcalendarsAndSchedulingCount(WorkingCalendar workingCalendar);
	
	/**
	 * 通过指定的日历时间查询当前日期下的班次信息
	 * **/
	public List<Map<String,Object>> queryShiftInfoByCalendar(WorkingCalendar workingCalendar);
	
	public List<Map<String,Object>> querycalendarBystartDataEndData(Map<String,Object> map);
	
	public ResultBean updateCalendarStatus (Map<String,Object> map);
	
	public ResultBean addCalendarShiftRel (Map<String,Object> map);
	
	public void deleteCalendarShiftRel (Map<String,Object> map);
	
	


}